      SUBROUTINE  BOUNDR(INCANG,M,KMIN,IMODE,RE1,RE2,RI1)               00010000
C                                                                       00020000
CCC           BOUNDARY CONDITIONS FOR DETERMING THE SCATTERED           00030000
CCC           FIELD COEFFICIENTS   --   ALP & BET                       00040000
CCC           ALP & BET ARE PUT IN THE ARREY - CLA                      00050000
CCC           IMODE = 1  -  TM MODE POLARIZATION                        00060000
CCC           IMODE = 2  -  TE MODE POLARIZATION                        00070000
CCC           INCANG = NUMBER OF THE INCIDENCE ANGLE < 46               00080000
C                                                                       00090000
      PARAMETER  (NMX= 70, MXJ=150, NSYS=45)                            00100010
      REAL*8  RE1(1),RE2(1),R1N,R2N,R1N1,R2N1                           00110000
      COMPLEX*16 RI1(1),UE1(NMX,NMX),UE3(NMX,NMX),UI1(NMX,NMX),         00120007
     1           VE1(NMX,NMX),VE3(NMX,NMX),VI1(NMX,NMX),XE1(NMX,NMX),   00130007
     2           XE3(NMX,NMX),XI1(NMX,NMX),YE1(NMX,NMX),YE3(NMX,NMX),   00140007
     3           YI1(NMX,NMX),F(NMX,NSYS),G(NMX,NSYS), RFR,             00150007
     4           CLA(2*NMX,2*NMX),CRA(2*NMX,NSYS),ALBT(NMX,MXJ)         00160009
      COMMON  /BNDRY/UE1,UE3,UI1,VE1,VE3,VI1,XE1,XE3,XI1,YE1,YE3,YI1,   00170000
     1               F,G,RFR                                            00180000
      COMMON  /CMPLX/ALBT                                               00190000
      COMMON /SLEQ/CLA,CRA                                              00200000
C                                                                       00210000
      KABC=2*(KMIN/2)                                                   00220000
      NMAX=KABC                                                         00230000
      LMAX=KABC                                                         00240000
      NTERM=NMAX/2                                                      00250000
      NEAC=2*NMAX                                                       00260000
      LROW=LMAX/2                                                       00270000
          IF(M.EQ.0)  THEN                                              00280005
CC           M=0 TERM                                                   00290003
      DO 2010 IEVOD=1,2                                                 00300003
      DO 2020 II=1,LROW                                                 00310000
      LA=2*II-1                                                         00320000
      LB=2*II                                                           00330000
      DO 2030 IN=1,INCANG                                               00340000
      CRA(LA,IN)=(0.D0,0.D0)                                            00350000
 2030 CRA(LB,IN)=(0.D0,0.D0)                                            00360000
      IS=2*(II-1)                                                       00370000
      MS=IS+1                                                           00380000
      IF(IEVOD.EQ.2) MS=IS+2                                            00390000
      DO 2040 NN=1,NTERM                                                00400000
      NA=2*NN-1                                                         00410000
      NB=2*NN                                                           00420000
      IP=2*(NN-1)                                                       00430000
      MP=IP+2                                                           00440000
      IF(IEVOD.EQ.2) MP=IP+1                                            00450000
        IF(IMODE.EQ.1) THEN                                             00460003
      CLA(LA,NA)=-VE3(MS,MP)/RE2(MP)                                    00470000
      CLA(LA,NB)= VI1(MS,MP)/RI1(MP)                                    00480000
      CLA(LB,NA)=-XE3(MS,MP)/RE2(MP)                                    00490000
      CLA(LB,NB)= RFR*XI1(MS,MP)/RI1(MP)                                00500000
      DO 2060 IN=1,INCANG                                               00510000
      CRA(LA,IN)=CRA(LA,IN)+VE1(MS,MP)*G(MP,IN)                         00520000
 2060 CRA(LB,IN)=CRA(LB,IN)+XE1(MS,MP)*G(MP,IN)                         00530000
        ELSE                                                            00540003
      CLA(LA,NA)=-XE3(MS,MP)/RE2(MP)                                    00550003
      CLA(LA,NB)= XI1(MS,MP)/RI1(MP)                                    00560000
      CLA(LB,NA)=-VE3(MS,MP)/RE2(MP)                                    00570000
      CLA(LB,NB)= RFR*VI1(MS,MP)/RI1(MP)                                00580000
      DO 2070 IN=1,INCANG                                               00590000
      CRA(LA,IN)=CRA(LA,IN)+XE1(MS,MP)*G(MP,IN)                         00600000
 2070 CRA(LB,IN)=CRA(LB,IN)+VE1(MS,MP)*G(MP,IN)                         00610000
        END IF                                                          00620003
 2040 CONTINUE                                                          00630004
 2020 CONTINUE                                                          00640004
C                                                                       00650003
          CALL  SLEQDC(NMAX,INCANG)                                     00660003
C                                                                       00670003
      DO 2080 NN=1,NTERM                                                00680000
      NA=2*NN-1                                                         00690000
      IP=2*(NN-1)                                                       00700000
      MP=IP+2                                                           00710000
      IF(IEVOD.EQ.2) MP=IP+1                                            00720000
      DO 2090 IN=1,INCANG                                               00730000
      ALBT(IN,MP)=(0.D0,0.D0)                                           00740000
 2090 ALBT(IN,MP + NMX)= CRA(NA,IN)/RE2(MP)                             00750007
 2080 CONTINUE                                                          00760000
 2010 CONTINUE                                                          00770000
        RETURN                                                          00780003
          ELSE                                                          00790005
CC        M.GE.1                                                        00800003
      DO 5010 ICASE=1,2                                                 00810005
         IF(ICASE.EQ.1)  THEN                                           00820003
      DO 5020 L1=1,LROW                                                 00830000
      I=2*(L1-1)                                                        00840000
      LA=I+1                                                            00850000
      LB=LA+1                                                           00860000
      LM=L1-1                                                           00870000
      LM1=4*LM+1                                                        00880000
      LM2=4*LM+2                                                        00890000
      LM3=4*LM+3                                                        00900000
      LM4=4*LM+4                                                        00910000
      DO 5025 IN=1,INCANG                                               00920000
      CRA(LM1,IN)=(0.D0,0.D0)                                           00930000
      CRA(LM2,IN)=(0.D0,0.D0)                                           00940000
      CRA(LM3,IN)=(0.D0,0.D0)                                           00950000
 5025 CRA(LM4,IN)=(0.D0,0.D0)                                           00960000
      DO 5030 N1=1,NTERM                                                00970000
      N=M+2*(N1-1)                                                      00980000
      NA=(N-M)+1                                                        00990000
      NB=NA+1                                                           01000000
      NM=N1-1                                                           01010000
      NM1=4*NM+1                                                        01020000
      NM2=4*NM+2                                                        01030000
      NM3=4*NM+3                                                        01040000
      NM4=4*NM+4                                                        01050000
      R1N= RE1(NA)                                                      01060000
      R2N=-RE2(NA)                                                      01070000
      R1N1= RE1(NB)                                                     01080000
      R2N1=-RE2(NB)                                                     01090000
       IF(IMODE.EQ.1) THEN                                              01100003
      CLA(LM1,NM1)=-(UE3(LA,NA)+YE3(LA,NA))/R2N                         01110000
      CLA(LM1,NM2)=-(VE3(LA,NB)+XE3(LA,NB))/R2N1                        01120000
      CLA(LM1,NM3)= (UI1(LA,NA)+RFR*YI1(LA,NA))/R1N                     01130000
      CLA(LM1,NM4)= (VI1(LA,NB)+RFR*XI1(LA,NB))/R1N1                    01140000
      CLA(LM2,NM1)= (YE3(LA,NA)-UE3(LA,NA))/R2N                         01150000
      CLA(LM2,NM2)= (XE3(LA,NB)-VE3(LA,NB))/R2N1                        01160000
      CLA(LM2,NM3)= (UI1(LA,NA)-RFR*YI1(LA,NA))/R1N                     01170000
      CLA(LM2,NM4)= (VI1(LA,NB)-RFR*XI1(LA,NB))/R1N1                    01180000
      CLA(LM3,NM1)= (XE3(LB,NA)-VE3(LB,NA))/R2N                         01190000
      CLA(LM3,NM2)= (YE3(LB,NB)-UE3(LB,NB))/R2N1                        01200000
      CLA(LM3,NM3)=-(XI1(LB,NA)-RFR*VI1(LB,NA))/R1N                     01210000
      CLA(LM3,NM4)=-(YI1(LB,NB)-RFR*UI1(LB,NB))/R1N1                    01220000
      CLA(LM4,NM1)= (XE3(LB,NA)+VE3(LB,NA))/R2N                         01230000
      CLA(LM4,NM2)= (YE3(LB,NB)+UE3(LB,NB))/R2N1                        01240000
      CLA(LM4,NM3)=-(XI1(LB,NA)+RFR*VI1(LB,NA))/R1N                     01250000
      CLA(LM4,NM4)=-(YI1(LB,NB)+RFR*UI1(LB,NB))/R1N1                    01260000
      DO 5060 IN=1,INCANG                                               01270000
      CRA(LM1,IN)=CRA(LM1,IN)+F(NA,IN)*(UE1(LA,NA)+YE1(LA,NA))+         01280000
     +            G(NB,IN)*(VE1(LA,NB)+XE1(LA,NB))                      01290008
      CRA(LM2,IN)=CRA(LM2,IN)+F(NA,IN)*(UE1(LA,NA)-YE1(LA,NA))+         01300000
     +            G(NB,IN)*(VE1(LA,NB)-XE1(LA,NB))                      01310008
      CRA(LM3,IN)=CRA(LM3,IN)+F(NA,IN)*(VE1(LB,NA)-XE1(LB,NA))+         01320000
     +            G(NB,IN)*(UE1(LB,NB)-YE1(LB,NB))                      01330008
 5060 CRA(LM4,IN)=CRA(LM4,IN)-F(NA,IN)*(XE1(LB,NA)+VE1(LB,NA))-         01340000
     +            G(NB,IN)*(YE1(LB,NB)+UE1(LB,NB))                      01350008
       ELSE                                                             01360003
      CLA(LM1,NM1)= (YE3(LA,NA)-UE3(LA,NA))/R2N                         01370003
      CLA(LM1,NM2)= (XE3(LA,NB)-VE3(LA,NB))/R2N1                        01380000
      CLA(LM1,NM3)=-(YI1(LA,NA)-RFR*UI1(LA,NA))/R1N                     01390000
      CLA(LM1,NM4)=-(XI1(LA,NB)-RFR*VI1(LA,NB))/R1N1                    01400000
      CLA(LM2,NM1)= (YE3(LA,NA)+UE3(LA,NA))/R2N                         01410000
      CLA(LM2,NM2)= (XE3(LA,NB)+VE3(LA,NB))/R2N1                        01420000
      CLA(LM2,NM3)=-(YI1(LA,NA)+RFR*UI1(LA,NA))/R1N                     01430000
      CLA(LM2,NM4)=-(XI1(LA,NB)+RFR*VI1(LA,NB))/R1N1                    01440000
      CLA(LM3,NM1)= (VE3(LB,NA)+XE3(LB,NA))/R2N                         01450000
      CLA(LM3,NM2)= (UE3(LB,NB)+YE3(LB,NB))/R2N1                        01460000
      CLA(LM3,NM3)=-(VI1(LB,NA)+RFR*XI1(LB,NA))/R1N                     01470000
      CLA(LM3,NM4)=-(UI1(LB,NB)+RFR*YI1(LB,NB))/R1N1                    01480000
      CLA(LM4,NM1)= (VE3(LB,NA)-XE3(LB,NA))/R2N                         01490000
      CLA(LM4,NM2)= (UE3(LB,NB)-YE3(LB,NB))/R2N1                        01500000
      CLA(LM4,NM3)=-(VI1(LB,NA)-RFR*XI1(LB,NA))/R1N                     01510000
      CLA(LM4,NM4)=-(UI1(LB,NB)-RFR*YI1(LB,NB))/R1N1                    01520000
      DO 5070 IN=1,INCANG                                               01530000
      CRA(LM1,IN)=CRA(LM1,IN)+F(NA,IN)*(UE1(LA,NA)-YE1(LA,NA))+         01540000
     +            G(NB,IN)*(VE1(LA,NB)-XE1(LA,NB))                      01550008
      CRA(LM2,IN)=CRA(LM2,IN)-F(NA,IN)*(YE1(LA,NA)+UE1(LA,NA))-         01560000
     +            G(NB,IN)*(XE1(LA,NB)+VE1(LA,NB))                      01570008
      CRA(LM3,IN)=CRA(LM3,IN)-F(NA,IN)*(VE1(LB,NA)+XE1(LB,NA))-         01580000
     +            G(NB,IN)*(UE1(LB,NB)+YE1(LB,NB))                      01590008
 5070 CRA(LM4,IN)=CRA(LM4,IN)+F(NA,IN)*(XE1(LB,NA)-VE1(LB,NA))+         01600000
     +            G(NB,IN)*(YE1(LB,NB)-UE1(LB,NB))                      01610008
       END IF                                                           01620003
 5030 CONTINUE                                                          01630003
 5020 CONTINUE                                                          01640003
         ELSE                                                           01650003
      DO 5040 L2=1,LROW                                                 01660003
      I=2*(L2-1)                                                        01670000
      LA=I+1                                                            01680000
      LB=LA+1                                                           01690000
      LM=L2-1                                                           01700000
      LM1=4*LM+1                                                        01710000
      LM2=4*LM+2                                                        01720000
      LM3=4*LM+3                                                        01730000
      LM4=4*LM+4                                                        01740000
      DO 5045 IN=1,INCANG                                               01750000
      CRA(LM1,IN)=(0.D0,0.D0)                                           01760000
      CRA(LM2,IN)=(0.D0,0.D0)                                           01770000
      CRA(LM3,IN)=(0.D0,0.D0)                                           01780000
 5045 CRA(LM4,IN)=(0.D0,0.D0)                                           01790000
      DO 5050 N2=1,NTERM                                                01800000
      N=M+2*(N2-1)                                                      01810000
      NA=(N-M)+1                                                        01820000
      NB=NA+1                                                           01830000
      NM=N2-1                                                           01840000
      NM1=4*NM+1                                                        01850000
      NM2=4*NM+2                                                        01860000
      NM3=4*NM+3                                                        01870000
      NM4=4*NM+4                                                        01880000
      R1N= RE1(NA)                                                      01890000
      R2N=-RE2(NA)                                                      01900000
      R1N1= RE1(NB)                                                     01910000
      R2N1=-RE2(NB)                                                     01920000
       IF(IMODE.EQ.1) THEN                                              01930003
      CLA(LM1,NM1)= (XE3(LA,NB)-VE3(LA,NB))/R2N1                        01940000
      CLA(LM1,NM2)= (YE3(LA,NA)-UE3(LA,NA))/R2N                         01950000
      CLA(LM1,NM3)=-(XI1(LA,NB)-RFR*VI1(LA,NB))/R1N1                    01960000
      CLA(LM1,NM4)=-(YI1(LA,NA)-RFR*UI1(LA,NA))/R1N                     01970000
      CLA(LM2,NM1)= (XE3(LA,NB)+VE3(LA,NB))/R2N1                        01980000
      CLA(LM2,NM2)= (YE3(LA,NA)+UE3(LA,NA))/R2N                         01990000
      CLA(LM2,NM3)=-(XI1(LA,NB)+RFR*VI1(LA,NB))/R1N1                    02000000
      CLA(LM2,NM4)=-(YI1(LA,NA)+RFR*UI1(LA,NA))/R1N                     02010000
      CLA(LM3,NM1)=-(UE3(LB,NB)+YE3(LB,NB))/R2N1                        02020000
      CLA(LM3,NM2)=-(VE3(LB,NA)+XE3(LB,NA))/R2N                         02030000
      CLA(LM3,NM3)= (UI1(LB,NB)+RFR*YI1(LB,NB))/R1N1                    02040000
      CLA(LM3,NM4)= (VI1(LB,NA)+RFR*XI1(LB,NA))/R1N                     02050000
      CLA(LM4,NM1)= (YE3(LB,NB)-UE3(LB,NB))/R2N1                        02060000
      CLA(LM4,NM2)= (XE3(LB,NA)-VE3(LB,NA))/R2N                         02070000
      CLA(LM4,NM3)= (UI1(LB,NB)-RFR*YI1(LB,NB))/R1N1                    02080000
      CLA(LM4,NM4)= (VI1(LB,NA)-RFR*XI1(LB,NA))/R1N                     02090000
      DO 5080 IN=1,INCANG                                               02100000
      CRA(LM1,IN)=CRA(LM1,IN)+F(NB,IN)*(VE1(LA,NB)-XE1(LA,NB))+         02110000
     +            G(NA,IN)*(UE1(LA,NA)-YE1(LA,NA))                      02120008
      CRA(LM2,IN)=CRA(LM2,IN)-F(NB,IN)*(XE1(LA,NB)+VE1(LA,NB))-         02130000
     +            G(NA,IN)*(YE1(LA,NA)+UE1(LA,NA))                      02140008
      CRA(LM3,IN)=CRA(LM3,IN)+F(NB,IN)*(UE1(LB,NB)+YE1(LB,NB))+         02150000
     +            G(NA,IN)*(VE1(LB,NA)+XE1(LB,NA))                      02160008
 5080 CRA(LM4,IN)=CRA(LM4,IN)+F(NB,IN)*(UE1(LB,NB)-YE1(LB,NB))+         02170000
     +            G(NA,IN)*(VE1(LB,NA)-XE1(LB,NA))                      02180008
       ELSE                                                             02190003
      CLA(LM1,NM1)= (VE3(LA,NB)+XE3(LA,NB))/R2N1                        02200003
      CLA(LM1,NM2)= (UE3(LA,NA)+YE3(LA,NA))/R2N                         02210000
      CLA(LM1,NM3)=-(VI1(LA,NB)+RFR*XI1(LA,NB))/R1N1                    02220000
      CLA(LM1,NM4)=-(UI1(LA,NA)+RFR*YI1(LA,NA))/R1N                     02230000
      CLA(LM2,NM1)= (VE3(LA,NB)-XE3(LA,NB))/R2N1                        02240000
      CLA(LM2,NM2)= (UE3(LA,NA)-YE3(LA,NA))/R2N                         02250000
      CLA(LM2,NM3)=-(VI1(LA,NB)-RFR*XI1(LA,NB))/R1N1                    02260000
      CLA(LM2,NM4)=-(UI1(LA,NA)-RFR*YI1(LA,NA))/R1N                     02270000
      CLA(LM3,NM1)= (YE3(LB,NB)-UE3(LB,NB))/R2N1                        02280000
      CLA(LM3,NM2)= (XE3(LB,NA)-VE3(LB,NA))/R2N                         02290000
      CLA(LM3,NM3)=-(YI1(LB,NB)-RFR*UI1(LB,NB))/R1N1                    02300000
      CLA(LM3,NM4)=-(XI1(LB,NA)-RFR*VI1(LB,NA))/R1N                     02310000
      CLA(LM4,NM1)= (YE3(LB,NB)+UE3(LB,NB))/R2N1                        02320000
      CLA(LM4,NM2)= (XE3(LB,NA)+VE3(LB,NA))/R2N                         02330000
      CLA(LM4,NM3)=-(YI1(LB,NB)+RFR*UI1(LB,NB))/R1N1                    02340000
      CLA(LM4,NM4)=-(XI1(LB,NA)+RFR*VI1(LB,NA))/R1N                     02350000
      DO 5090 IN=1,INCANG                                               02360000
      CRA(LM1,IN)=CRA(LM1,IN)-F(NB,IN)*(VE1(LA,NB)+XE1(LA,NB))-         02370000
     +            G(NA,IN)*(UE1(LA,NA)+YE1(LA,NA))                      02380008
      CRA(LM2,IN)=CRA(LM2,IN)+F(NB,IN)*(XE1(LA,NB)-VE1(LA,NB))+         02390000
     +            G(NA,IN)*(YE1(LA,NA)-UE1(LA,NA))                      02400008
      CRA(LM3,IN)=CRA(LM3,IN)+F(NB,IN)*(UE1(LB,NB)-YE1(LB,NB))+         02410000
     +            G(NA,IN)*(VE1(LB,NA)-XE1(LB,NA))                      02420008
 5090 CRA(LM4,IN)=CRA(LM4,IN)-F(NB,IN)*(YE1(LB,NB)+UE1(LB,NB))-         02430000
     +            G(NA,IN)*(XE1(LB,NA)+VE1(LB,NA))                      02440008
       END IF                                                           02450003
 5050 CONTINUE                                                          02460003
 5040 CONTINUE                                                          02470000
         END IF                                                         02480003
C                                                                       02490003
        CALL  SLEQDC(NEAC,INCANG)                                       02500003
C                                                                       02510003
        IF(ICASE.EQ.1)  THEN                                            02520003
      DO 6010 NC=1,NTERM                                                02530000
      N=M+2*(NC-1)                                                      02540000
      NN=N-M+1                                                          02550000
      NM=NC-1                                                           02560000
      DO 6010 IN=1,INCANG                                               02570000
      ALBT(IN,NN)=-CRA(4*NM+1,IN)/RE2(NN)                               02580000
 6010 ALBT(IN,NN+1 + NMX)=-CRA(4*NM+2,IN)/RE2(NN+1)                     02590007
        ELSE                                                            02600003
      DO 6020 ND=1,NTERM                                                02610003
      N=M+2*(ND-1)                                                      02620000
      NN=N-M+1                                                          02630000
      NM=ND-1                                                           02640000
      DO 6020 IN=1,INCANG                                               02650000
      ALBT(IN,NN+1)=-CRA(4*NM+1,IN)/RE2(NN+1)                           02660000
 6020 ALBT(IN,NN + NMX)=-CRA(4*NM+2,IN)/RE2(NN)                         02670007
        END IF                                                          02680003
 5010  CONTINUE                                                         02690006
          END IF                                                        02700006
       RETURN                                                           02710006
      END                                                               02720000
